using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

namespace BlockOS.Client
{
    public interface IWorld
    {
        IEnumerator Init(Action<string> logger);
        ReqChunkReturnCode RequestChunk(int x, int y, int z, out ChunkData chunk);
        void UploadPlayerTransform(Vector3 playerPosition, Vector3 playerRotation);
        (int, EntityData)[] RequestNearbyEntities();

        void Update();
        void Deinit();
    }

    public enum ReqChunkReturnCode: byte
    {
        Success,
        NotLoadedYet,
        NoSuchChunk,
    }
}
